package linwen.wang.timer;

import java.util.Date;
import java.util.Timer;

/**
 * //在特定的时间time执行task一次
 * schedule(TimerTask task, Date time);
 *
 * //延迟delay毫秒 执行task一次
 * schedule(TimerTask task, long delay);
 *
 * //firstTime第一次执行时间后，每period毫秒执行一次
 * schedule(TimerTask task, Date firstTime, long period)；
 *
 * //延迟delay毫秒执行任务，并每period毫秒执行一次
 * schedule(TimerTask task, long delay, long period);
 * */
public class TestTimer {
    public static void main(String[] args) {
        Timer timer = new Timer();
        TestTimerTask job1 = new TestTimerTask("job");
        // schedule在任务执行时间超过延迟时间时，会将任务往后移动，总时间会增大。
        // timer.schedule(job1,new Date(),2000);
        // scheduleAtFixedRate在任务执行时间超过延迟时间时，会在下一个可执行时间内补齐之前遗漏的任务。
        timer.scheduleAtFixedRate(job1,new Date(),2000);
    }
}
